package com.sky.config;

import com.sky.properties.AliOssProperties;
import com.sky.utils.AliOssUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * 阿里云配置信息
 */
@Configuration
@Slf4j

public class OssConfiguration {
//    创建一个实例，初始化配置信息,给上传文件路径用
//检查 Spring 容器中是否已经存在指定类型（或指定名称）的 Bean。
//如果不存在，就会创建并注册这个 @Bean 方法返回的 Bean；如果已经存在，则跳过该 @Bean 方法，不会再创建新的 Bean。
    @ConditionalOnMissingBean
    @Bean
    public AliOssUtil aliOssUtil(AliOssProperties aliOssProperties){
        log.info("开始创建阿里云上传工具类对象：{}",aliOssProperties);
        return new AliOssUtil(aliOssProperties.getEndpoint(),
                aliOssProperties.getAccessKeyId(),
                aliOssProperties.getAccessKeySecret(),
                aliOssProperties.getBucketName());
    }

}
